package com.adk.backend.service;

import com.adk.backend.common.PageResult;
import com.adk.backend.entity.LxAdmin;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;

/**
 * 管理员服务接口
 */
public interface AdminService extends IService<LxAdmin> {
    
    /**
     * 分页查询管理员列表
     */
    PageResult<LxAdmin> getAdminList(Map<String, Object> params);
    
    /**
     * 创建管理员
     */
    LxAdmin createAdmin(LxAdmin admin, String password);
    
    /**
     * 更新管理员
     */
    boolean updateAdmin(LxAdmin admin, String password);
    
    /**
     * 删除管理员
     */
    boolean deleteAdmin(Long id);
    
    /**
     * 切换管理员状态（启用/禁用）
     */
    boolean toggleStatus(Long id);
    
    /**
     * 强制退出（清除Token）
     */
    boolean logout(Long id);
    
    /**
     * 将用户组下的用户改为默认用户组（user_type=2），并禁用
     */
    boolean updateUserTypeToDefault(Integer userType);
    
    /**
     * 获取业务员列表（包含所属客服信息）
     */
    java.util.List<java.util.Map<String, Object>> getSalesUsersWithCs();
    
    /**
     * 获取业务员详情（用于设置客服）
     */
    java.util.Map<String, Object> getSalesUserDetail(Long id);
    
    /**
     * 更新业务员的客服配置
     */
    boolean updateSalesUserCs(Long id, java.util.List<Long> csIds);
    
    /**
     * 获取客服列表（user_type=42）
     */
    java.util.List<LxAdmin> getCsUsers();
}

